const log = console.log
// 数学类 Math 定义一些常规常量和方法，所有的属性和方法都是静态的(static)
// 圆周率PI=3.14
let PI = Math.PI // 3.14
// 求绝对值abs()
let n = Math.abs(-2) // 2
// ceil(n) 对n在数轴上向右取整 向上取整
let m = Math.ceil(-2.23) // -2
m = Math.ceil(2.23) // 3
// floor(n) 对n在数轴上向左取整 向下取整
m = Math.floor(2.23) // 2
m = Math.floor(-2.3) // -3
// pow(n,m) n的m次方
m = Math.pow(2, 2) // 4
m = Math.pow(2, -2) // 0.25
m = Math.pow(2, 0.5) // 1.414..
m = 2
n = 0.5
let res = m ** n
log(res) // 1.4142135623730951
// random() 0到1直接的任意随机小数，不包含1，包含0
// 产生10个随机数，排序
let fn = () => {
  let arr = []
  for (let i = 0; i < 10; i++) {
    let num = Math.random()
    arr.push(num)
  }
  arr.sort((x, y) => x - y)
  log(arr)
}
// fn()

// round(n) 四舍五入取整
log(Math.round(2.3)) // 2
log(Math.round(2.6)) // 3
log(Math.round(-2.6)) // -3
log(Math.round(-2.3)) // -2

// sqrt(n) 开平方根
log(Math.sqrt(2)) // 1.4142135623730951
log(Math.sqrt(-2)) // NaN
log(Math.sqrt(3)) // 1.7320508075688772

// cbrt(n) 开立方根
log(Math.cbrt(-27)) // -3
log(Math.cbrt(27)) // 3

// trunc() 取整数
log(Math.trunc(27.323)) //27
log(Math.trunc(27.778)) //27

// 使用随机数函数获得指定区间的一个数字[1,10]
let rt = Number.parseInt(Math.random() * 10) + 1
/*
 1 <=  Number.parseInt(Math.random()*10) + 1  <= 10  [1,10]
*/
let fn1 = () => {
  let arr = []
  for (let i = 0; i < 10; i++) {
    let num = Number.parseInt(Math.random() * 10) + 1
    arr.push(num)
  }
  log(arr)
}
// fn1()

// 需求：[18-25]之间任意一个整数，随机取10个
// let random = Number.parseInt(Math.random()*(max-min+1)) + min
/*
 18 <= Number.parseInt(Math.random()*(25-18+1))+18 <= 25
*/
let fn2 = (min, max) => {
  let arr = []
  for (let i = 0; i < 100; i++) {
    let num = Number.parseInt(Math.random() * (max - min + 1)) + min
    arr.push(num)
  }
  log(arr)
}
// fn2(15, 30)

// 需求：10个随机的电话号码 第1位是1 第2位是3-9任意数字,后面9位是0-9任意数字
let fn3 = () => {
  let arr = []
  for (let i = 0; i < 100; i++) {
    // 第1位数字
    let phoneNumber = '1'
    // 第2位数字
    let num = Number.parseInt(Math.random() * (9 - 3 + 1)) + 3
    phoneNumber += num
    // 后9位数字
    for (let j = 0; j < 9; j++) {
      let n = Number.parseInt(Math.random() * 10)
      phoneNumber += n
    }
    if (!arr.includes(phoneNumber)) {
      arr.push(phoneNumber)
    }
  }
  console.log(arr)
}
fn3()
